home *** CD-ROM | disk | FTP | other *** search
- Path: senator-bedfellow.mit.edu!enterpoop.mit.edu!gatech!howland.reston.ans.net!ux1.cso.uiuc.edu!uwm.edu!ogicse!psgrain!m2xenix!mikeg
- From: mikeg@psg.com (Mike Gallo)
- Newsgroups: comp.lang.oberon,comp.answers,news.answers
- Subject: Comp.lang.oberon FAQ (monthly)
- Summary: This posting contains a list of Frequently Asked Questions
- (and their answers) about Oberon. It should be read by anyone
- who wishes to post to the Comp.lang.oberon newsgroup.
- Message-ID: <1993Jun12.002120.20557@psg.com>
- Date: 12 Jun 93 00:21:20 GMT
- Article-I.D.: psg.1993Jun12.002120.20557
- Expires: Thu, 1 Jul 1993 07:00:00 GMT
- Followup-To: comp.lang.oberon
- Organization: PSGnet, Portland Oregon US
- Lines: 250
- Approved: news-answers-request@MIT.Edu
- Xref: senator-bedfellow.mit.edu comp.lang.oberon:404 comp.answers:957 news.answers:9311
-
- Archive-name: Oberon-FAQ
-
- (* * * * * * * * * * * * * * * * * * * * * *)
-
- Thanks to all who have contributed! Further additions and
- corrections are welcome.
-
- mikeg@psg.com
-
- (* * * * * * * * * * * * * * * * * * * * * *)
-
- CONTENTS
-
- (1) Oberon
- (2) Oberon-2
- (3) Modula-3, Object Oberon, and Seneca
- (4) The Oberon system
- (5) The Gadgets system
- (6) For more information
- (7) To get an implementation of Oberon
-
-
- (1) OBERON
-
- From the release notes to ETH's Oberon
-
- Oberon is both a programming language and an
- operating environment. It is the final outcome of a
- research project whose aim was an extensible, highly
- integrated and compact operating platform for single-
- user, personal workstations.
-
- From "From Modula To Oberon"
-
- The language Oberon has evolved from Modula-2 and
- incorporates the experiences of many years of programming
- in Modula-2. A significant number of features have been
- eliminated. They appear to have contributed more to
- language and compiler complexity than to genuine power
- and flexibility of expression. A small number of
- features have been added, the most significant one being
- the concept of type extension [inheritance].
- The evolution of a new language that is smaller, yet
- more powerful than its ancestor is contrary to common
- practices and trends, but has inestimable advantages.
- Apart from simpler compilers, it results in a concise
- defining document, an indispensable prerequisite for any
- tool that must serve in the construction of sophisticated
- and reliable systems.
-
-
- (2) OBERON-2
-
- From "Differences between Oberon and Oberon-2"
-
- Oberon-2 is a true extension of Oberon. One
- important goal for Oberon-2 was to make object-oriented
- programming easier without sacrificing the conceptual
- simplicity of Oberon. After three years of using Oberon
- and its experimental offspring Object Oberon, we merged
- our experiences into a single refined version of Oberon.
- The new features of Oberon-2 are type-bound procedures
- [virtual methods], read-only export of variables and
- record fields, open arrays as pointer base types, and a
- with statement with variants. The for statement is
- reintroduced after having been eliminated in the step
- from Modula-2 to Oberon.
-
-
- (3) MODULA-3, OBJECT OBERON, AND SENECA
-
- Modula-3 is a language designed by DEC Software Research
- Center. Although also a descendant (but not a superset) of Modula-
- 2, it is otherwise unrelated to Oberon. Unless they bear on
- Oberon, discussions about Modula-3 are better directed to
- Comp.lang.modula3.
- Object Oberon is a now defunct, experimental extension of
- Oberon featuring "classes", structures somewhere in between modules
- and records. It evolved into Oberon-2.
- Seneca (soon to be renamed) is a variant of Oberon focusing on
- numerical programming. It is still under development by R.
- Griesemer, but a new report is expected to come out later this
- year.
-
-
- (4) THE OBERON SYSTEM
-
- From thutt@access.digex.com (Taylor Hutt)
-
- Oberon, the system, is a somewhat graphical user
- interface (Version 3.0 will be more graphical). Gone are
- the concepts of 'mode' (like insert/overstrike mode of a
- word processor). The mouse clicks always mean the same
- thing. However, even though the clicks mean the same
- thing, they have complicated the process (for a novice)
- by creating a new concept called the interclick.
- Basically, you press a mouse button, hold it down, and
- then press another mouse button. With three buttons,
- this can be confusing in the beginning. Button clicks
- provide messages for the system to pass around to the
- viewers.
- A viewer is a system which handles all open windows
- of a particular type. When you install Oberon, it comes
- with a Text viewer, and a Graphic viewer. You, the
- programmer, could easily make a SpreadSheet viewer or a
- AST viewer with little or no effort. It is up to the
- programmer of the Viewer to determine how output will be
- displayed. (Thus, there is no 'one' answer to how text is
- to be displayed on the screen). Oberon sends the proper
- messages to the proper viewer, and it is the
- responsibility of the Viewer to maintain the viewed area.
- One of Oberon's biggest advantages is portability.
- The language is defined more rigidly than many other
- languages, thus source can be ported virtually to any
- other Oberon system. Data files are also compatible,
- which is really nice.
-
-
- (5) THE GADGETS SYSTEM
-
- From psaladin@iiic.ethz.ch (Patrick Saladin)
-
- The Gadget-System is an experimental system to
- manage graphical user interfaces (GUI). It provides the
- design of GUIs at run-time, which are based on basic
- elements, socalled Gadgets. The system is shipped with
- often used Gadgets, eg. buttons, sliders, file-browsers
- up to more complex ones, like a picture-editor. Users
- combine Gadgets at run-time (socalled composition) to
- build more complex Gadgets out of simpler ones. These
- combined Gadgets act as independent units, which can be
- used in the environment. For example in texts or in other
- more complex Gadgets again. They also are editable at
- run-time, where ever they occur. GUIs can be created
- without the need of their application, it is also
- possible to add a GUI to textbased Oberon applications.As
- a consequence, users can create their own GUIs, depending
- on their habits and taste, they can take bits out of
- existing applications and insert them somewhere else. As
- time passes, more and more different kinds of Gadgets
- will be available. Additionally, programmers can build
- other Gadget, which provide new functions.This can be
- achieved by extending existing Gadgets (OO-technique) or
- implementing new types of Gadgets. The Gadget-system
- uses the Oberon-Languagever.1. It can easily be learned
- if one understands the principles of the Oberon-system.
-
-
- (6) FOR MORE INFORMATION
-
- Complete PostScript documentation from ETH is available by
- anonymous ftp from:
-
- neptune.inf.ethz.ch:/Oberon/Docu
- gatekeeper.dec.com:/pub/plan/Oberon/Docu
-
- "Oberon: A Glimpse at the Future" by Dick Pountain
- BYTE
- May 1993
-
- "Oberon" by Dick Pountain
- BYTE
- March 1991
-
- "From Modula to Oberon" by N. Wirth
- Software: Practice and Experience
- 18,7 (July 1988) 661-670
-
- "The Programming Language Oberon" by N. Wirth
- Software: Practice and Experience
- 18,7 (July 1988) 671-690
-
- "The Oberon System" by N. Wirth and J. Gutknecht
- Software: Practice and Experience
- 19,9 (September 1989) 857-893
-
- The Oberon System: User Guide and Programmer's Manual by M. Reiser,
- ACM Press 1992; ISBN 0-201-54422-9
-
- Programming in Oberon: Steps Beyond Pascal and Modula-2 by M.
- Reiser and N. Wirth, ACM Press 1992; ISBN 0-201-56543-9
-
- Project Oberon: The Design of an Operating System and Compiler by
- N. Wirth and J. Gutknecht, ACM Press 1992; ISBN 0-201-54428-8
-
- Object Oriented Programming in Oberon-2 by H. Moessenboeck,
- Springer-Verlag 1993; ISBN 3-650-56411-X
-
- A New Approach to Formal Language Definition and Its Application to
- Oberon by M. Odersky, Verlag der Fachvereine Zuerich 1989; ISBN 3-
- 7281-1732-3
-
-
- (7) TO GET AN IMPLEMENTATION OF OBERON
-
- The original project was launched and carried out by N. Wirth
- and J. Gutknecht for the Ceres workstation. Now, freeware versions
- of the Oberon language and system are available for numerous
- commercial machines, among them Macintosh, IBM RS/6000, DEC
- station, SPARC station and IBM PC/386 compatibles. These are
- available by anonymous ftp from:
-
- neptune.inf.ethz.ch:/Oberon
- gatekeeper.dec.com:/pub/plan/Oberon
-
- For Oberon compilers developed outside ETH, contact:
-
- VAX/VMS:
- ModulaWare GmbH, Wilhelmstr. 17A, D-W 8520 Erlangen/F.R.Germany
- Modula-2 & Oberon-2 Compiler Manufactur
- Tel. +49 (9131) 208395, Fax +49 (9131) 28205.
- E-mail/Internet:
- 100023.2527@compuserve.com
- g_dotzel@ame.nbg.sub.org
-
- MS-DOS:
- Oberon-M (freeware)
- neptune.inf.ethz.ch:/Oberon/Oberon-M
- gatekeeper.dec.com:/pub/plan/Oberon/Oberon-M
- (N.B., Oberon-M is independently produced and has no relation to
- ETH or DEC)
-
- Real Time Associates Ltd.
- Canning House, 59 Canning Road
- Croydon, Surrey, CRO 6QF
- England
- Tel.: 0044-81-656 7333
- Fax: 0044-81-655 0401
- E-mail: 100023.145@CompuServe.COM
-
- COP2 (partial Oberon to C translator)
- E-mail: thutt@access.digex.com (Taylor Hutt)
-
- Amiga:
- A+L AG
- Daederiz 61
- CH-2540 Grenchen
- Tel.: +41 (65) 52 03 11
-
- DECstation (Ultrix, OSF/1), Intel386 (SVR4, OS2, Solaris), Sparc
- (Solaris)
- Office of Commercial Services
- Queensland University of Technology
- GPO box 2434, Brisbane Q4001
- Australia
- --
-
- This is patently absurd; but whoever wishes to become a
- philosopher must learn not to be frightened by absurdities.
- -- Bertrand Russell
-